// ignore_for_file: prefer_const_constructors

import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:native_dart_package/global.dart';
import 'package:yt_devops/low_code/widgets/singleForm/low_code_single_form_binding.dart';
import 'package:yt_devops/low_code/widgets/singleForm/low_code_single_form_view.dart';
import 'package:yt_devops/pages/404/unknown_binding.dart';
import 'package:yt_devops/pages/404/unknown_view.dart';
import 'package:yt_devops/pages/alarm/alarm_detail/alarm_detail_binding.dart';
import 'package:yt_devops/pages/alarm/alarm_detail/alarm_detail_view.dart';
import 'package:yt_devops/pages/alarm/alarm_home/alarm_home_binding.dart';
import 'package:yt_devops/pages/alarm/alarm_home/alarm_home_view.dart';
import 'package:yt_devops/pages/amap/map_binding.dart';
import 'package:yt_devops/pages/amap/map_view.dart';
import 'package:yt_devops/pages/auth/login/login_binding.dart';
import 'package:yt_devops/pages/auth/login/login_view.dart';
import 'package:yt_devops/pages/common/text_input/text_input_binding.dart';
import 'package:yt_devops/pages/common/text_input/text_input_view.dart';
import 'package:yt_devops/pages/devices/device_controll/component/rate_setting_edit/rate_setting_edit_binding.dart';
import 'package:yt_devops/pages/devices/device_controll/component/rate_setting_edit/rate_setting_edit_view.dart';
import 'package:yt_devops/pages/devices/device_controll/page_component/charge_terminal/add_charge_terminal/add_charge_terminal_binding.dart';
import 'package:yt_devops/pages/devices/device_controll/page_component/charge_terminal/add_charge_terminal/add_charge_terminal_view.dart';
import 'package:yt_devops/pages/devices/device_controll/page_component/charge_terminal/charge_termimal_list/charge_termimal_list_binding.dart';
import 'package:yt_devops/pages/devices/device_controll/page_component/charge_terminal/charge_termimal_list/charge_termimal_list_view.dart';
import 'package:yt_devops/pages/devices/child_device_list/child_device_list_binding.dart';
import 'package:yt_devops/pages/devices/child_device_list/child_device_list_view.dart';
import 'package:yt_devops/pages/devices/device_add/device_scan_fail/device_scan_fail_binding.dart';
import 'package:yt_devops/pages/devices/device_add/device_scan_fail/device_scan_fail_view.dart';
import 'package:yt_devops/pages/devices/device_add/device_scanner/device_scanner_binding.dart';
import 'package:yt_devops/pages/devices/device_add/device_scanner/device_scanner_view.dart';
import 'package:yt_devops/pages/devices/device_add/device_sn/device_sn_binding.dart';
import 'package:yt_devops/pages/devices/device_add/device_sn/device_sn_view.dart';
import 'package:yt_devops/pages/devices/device_add/scan_device_result/scan_device_result_binding.dart';
import 'package:yt_devops/pages/devices/device_add/scan_device_result/scan_device_result_view.dart';
import 'package:yt_devops/pages/devices/device_controll/device_controll_binding.dart';
import 'package:yt_devops/pages/devices/device_controll/device_controll_view.dart';
import 'package:yt_devops/pages/devices/device_controll/device_set_page/device_set_page_binding.dart';
import 'package:yt_devops/pages/devices/device_controll/device_set_page/device_set_page_view.dart';
import 'package:yt_devops/pages/devices/device_list/device_list_binding.dart';
import 'package:yt_devops/pages/devices/device_list/device_list_view.dart';
import 'package:yt_devops/pages/devices/device_tab/base_info_edit/base_info_edit_binding.dart';
import 'package:yt_devops/pages/devices/device_tab/base_info_edit/base_info_edit_controller.dart';
import 'package:yt_devops/pages/devices/device_tab/base_info_edit/base_info_edit_view.dart';
import 'package:yt_devops/pages/devices/sub_debvice_tree/sub_debvice_tree_binding.dart';
import 'package:yt_devops/pages/devices/sub_debvice_tree/sub_debvice_tree_view.dart';
import 'package:yt_devops/pages/devices/device_tab/device_detail/air_condition_setting/air_condition_setting_binding.dart';
import 'package:yt_devops/pages/devices/device_tab/device_detail/air_condition_setting/air_condition_setting_view.dart';
import 'package:yt_devops/pages/devices/device_tab/device_detail/battery_cell_tree/battery_cell_tree_binding.dart';
import 'package:yt_devops/pages/devices/device_tab/device_detail/battery_cell_tree/battery_cell_tree_view.dart';
import 'package:yt_devops/pages/devices/device_tab/device_detail/charging_station/charging_station_binding.dart';
import 'package:yt_devops/pages/devices/device_tab/device_detail/charging_station/charging_station_view.dart';
import 'package:yt_devops/pages/devices/device_tab/device_detail/ems/rectangle_ems_romote_control/rectangle_ems_romote_control_binding.dart';
import 'package:yt_devops/pages/devices/device_tab/device_detail/ems/rectangle_ems_romote_control/rectangle_ems_romote_control_view.dart';
import 'package:yt_devops/pages/devices/device_tab/device_detail/ems/self_develop_ems_romote_control/ems_params_setting/ems_params_setting_binding.dart';
import 'package:yt_devops/pages/devices/device_tab/device_detail/ems/self_develop_ems_romote_control/ems_params_setting/ems_params_setting_view.dart';
import 'package:yt_devops/pages/devices/device_tab/device_detail/ems/self_develop_ems_romote_control/ems_romote_control/ems_romote_control_binding.dart';
import 'package:yt_devops/pages/devices/device_tab/device_detail/ems/self_develop_ems_romote_control/ems_romote_control/ems_romote_control_view.dart';
import 'package:yt_devops/pages/devices/device_tab/device_detail/fire_fighting/air_cool_fire_detail/air_cool_fire_detail_binding.dart';
import 'package:yt_devops/pages/devices/device_tab/device_detail/fire_fighting/air_cool_fire_detail/air_cool_fire_detail_view.dart';
import 'package:yt_devops/pages/devices/device_tab/device_detail/new_air_cooling_page/charge_order_detail/charge_order_detail_binding.dart';
import 'package:yt_devops/pages/devices/device_tab/device_detail/new_air_cooling_page/charge_order_detail/charge_order_detail_view.dart';

import 'package:yt_devops/pages/devices/device_tab/device_detail/new_air_cooling_page/new_air_cooling_page_binding.dart';
import 'package:yt_devops/pages/devices/device_tab/device_detail/new_air_cooling_page/new_air_cooling_page_view.dart';
import 'package:yt_devops/pages/devices/device_tab/device_detail/new_air_cooling_page/soc_electricity_full_chart/soc_electricity_full_chart_binding.dart';
import 'package:yt_devops/pages/devices/device_tab/device_detail/new_air_cooling_page/soc_electricity_full_chart/soc_electricity_full_chart_view.dart';
import 'package:yt_devops/pages/devices/device_tab/device_detail/new_air_cooling_page/temperature_full_chart/temperature_full_chart_binding.dart';
import 'package:yt_devops/pages/devices/device_tab/device_detail/new_air_cooling_page/temperature_full_chart/temperature_full_chart_view.dart';
import 'package:yt_devops/pages/devices/device_tab/device_detail/new_air_cooling_page/voltage_current_full_chart/voltage_current_full_chart_view.dart';
import 'package:yt_devops/pages/home_site_statistics/home_site_statistics_binding.dart';
import 'package:yt_devops/pages/home_site_statistics/home_site_statistics_view.dart';
import 'package:yt_devops/pages/mine/about_us/about_us_binding.dart';
import 'package:yt_devops/pages/mine/about_us/about_us_view.dart';
import 'package:yt_devops/pages/mine/user_info/user_info_binding.dart';
import 'package:yt_devops/pages/mine/user_info/user_info_view.dart';
import 'package:yt_devops/pages/devices/select_product_type_page/select_product_type_page_binding.dart';
import 'package:yt_devops/pages/devices/select_product_type_page/select_product_type_page_view.dart';
import 'package:yt_devops/pages/mine/user_manage/admin_choose_relate_site/admin_choose_relate_site_view.dart';
import 'package:yt_devops/pages/no_permission/no_permission_binding.dart';
import 'package:yt_devops/pages/no_permission/no_permission_view.dart';
import 'package:yt_devops/pages/site/site_setting/main_price_setting/main_price_setting_view.dart';
import 'package:yt_devops/pages/site/site_setting/site_setting_param_set/site_setting_param_set_binding.dart';
import 'package:yt_devops/pages/site/site_setting/site_setting_param_set/site_setting_param_set_view.dart';
import 'package:yt_devops/pages/site/site_setting/video_monitor_setting/video_monitor_setting_binding.dart';
import 'package:yt_devops/pages/site/site_setting/video_monitor_setting/video_monitor_setting_view.dart';
import 'package:yt_devops/pages/tabs/splash_scren/splash_scren_binding.dart';
import 'package:yt_devops/pages/tabs/splash_scren/splash_scren_view.dart';
import 'package:yt_devops/pages/tasks/my_fault_report/create_fault_report/create_fault_report_binding.dart';
import 'package:yt_devops/pages/tasks/my_fault_report/create_fault_report/create_fault_report_view.dart';
import 'package:yt_devops/pages/tasks/my_fault_report/fault_report_detail/fault_report_detail_binding.dart';
import 'package:yt_devops/pages/tasks/my_fault_report/fault_report_detail/fault_report_detail_view.dart';
import 'package:yt_devops/pages/tasks/my_fault_report/fault_report_list_binding.dart';
import 'package:yt_devops/pages/tasks/my_fault_report/fault_report_list_view.dart';
import 'package:yt_devops/pages/mine/mine_site_manager/mine_site_manager_binding.dart';
import 'package:yt_devops/pages/mine/mine_site_manager/mine_site_manager_view.dart';
import 'package:yt_devops/pages/mine/system_set/language_page/language_page_binding.dart';
import 'package:yt_devops/pages/mine/system_set/language_page/language_page_view.dart';
import 'package:yt_devops/pages/mine/system_set/security/change_password/change_password_binding.dart';
import 'package:yt_devops/pages/mine/system_set/security/change_password/change_password_view.dart';
import 'package:yt_devops/pages/mine/system_set/security/security_binding.dart';
import 'package:yt_devops/pages/mine/system_set/security/security_view.dart';
import 'package:yt_devops/pages/mine/user_manage/mine_add_user/mine_add_user_binding.dart';
import 'package:yt_devops/pages/mine/user_manage/mine_add_user/mine_add_user_view.dart';
import 'package:yt_devops/pages/mine/user_manage/mine_choose_organization/mine_choose_organization_binding.dart';
import 'package:yt_devops/pages/mine/user_manage/mine_choose_organization/mine_choose_organization_view.dart';
import 'package:yt_devops/pages/mine/user_manage/mine_reset_password/mine_reset_password_binding.dart';
import 'package:yt_devops/pages/mine/user_manage/mine_reset_password/mine_reset_password_view.dart';
import 'package:yt_devops/pages/mine/user_manage/relate_site/relate_site_binding.dart';
import 'package:yt_devops/pages/mine/user_manage/relate_site/relate_site_view.dart';
import 'package:yt_devops/pages/mine/user_manage/user_manager_user_detail/user_manager_user_detail_binding.dart';
import 'package:yt_devops/pages/mine/user_manage/user_manager_user_detail/user_manager_user_detail_view.dart';
import 'package:yt_devops/pages/operation_matainance/operation_matainance_binding.dart';
import 'package:yt_devops/pages/operation_matainance/operation_matainance_view.dart';
import 'package:yt_devops/pages/private_policy/private_policy_binding.dart';
import 'package:yt_devops/pages/private_policy/private_policy_view.dart';
import 'package:yt_devops/pages/common/select_page/select_page_binding.dart';
import 'package:yt_devops/pages/common/select_page/select_page_view.dart';
import 'package:yt_devops/pages/site/es_power_statistics_fullscreen_chart/es_power_statistics_fullscreen_chart_binding.dart';
import 'package:yt_devops/pages/site/es_power_statistics_fullscreen_chart/es_power_statistics_fullscreen_chart_view.dart';
import 'package:yt_devops/pages/site/site_setting/siet_elec_price_setting/add_charge_price_set/add_charge_price_set_binding.dart';
import 'package:yt_devops/pages/site/site_setting/siet_elec_price_setting/add_charge_price_set/add_charge_price_set_view.dart';
import 'package:yt_devops/pages/site/site_setting/siet_elec_price_setting/add_mains_electricity_price/add_mains_electricity_price_binding.dart';
import 'package:yt_devops/pages/site/site_setting/siet_elec_price_setting/add_mains_electricity_price/add_mains_electricity_price_view.dart';
import 'package:yt_devops/pages/site/site_setting/siet_elec_price_setting/energy_storeage_discharge_price/energy_storeage_discharge_price_binding.dart';
import 'package:yt_devops/pages/site/site_setting/siet_elec_price_setting/energy_storeage_discharge_price/energy_storeage_discharge_price_controller.dart';
import 'package:yt_devops/pages/site/site_setting/siet_elec_price_setting/energy_storeage_discharge_price/energy_storeage_discharge_price_view.dart';
import 'package:yt_devops/pages/site/site_setting/siet_elec_price_setting/site_charge_elec_detail/site_charge_elec_detail_binding.dart';
import 'package:yt_devops/pages/site/site_setting/siet_elec_price_setting/site_charge_elec_detail/site_charge_elec_detail_view.dart';
import 'package:yt_devops/pages/site/site_setting/siet_elec_price_setting/site_elec_price_setting_binding.dart';
import 'package:yt_devops/pages/site/site_setting/siet_elec_price_setting/site_elec_price_setting_view.dart';
import 'package:yt_devops/pages/site/site_setting/siet_elec_price_setting/site_internet_elec_detail/site_internet_elec_detail_binding.dart';
import 'package:yt_devops/pages/site/site_setting/siet_elec_price_setting/site_internet_elec_detail/site_internet_elec_detail_view.dart';
import 'package:yt_devops/pages/site/site_setting/siet_elec_price_setting/site_mains_elec_detail/site_mains_elec_detail_binding.dart';
import 'package:yt_devops/pages/site/site_setting/siet_elec_price_setting/site_mains_elec_detail/site_mains_elec_detail_view.dart';
import 'package:yt_devops/pages/site/site_device_list/scan_fail_mannual_access/scan_fail_mannual_access_binding.dart';
import 'package:yt_devops/pages/site/site_device_list/scan_fail_mannual_access/scan_fail_mannual_access_binding.dart';
import 'package:yt_devops/pages/site/site_device_list/scan_fail_mannual_access/scan_fail_mannual_access_view.dart';
import 'package:yt_devops/pages/site/site_device_list/site_device_list_binding.dart';
import 'package:yt_devops/pages/site/site_device_list/site_device_list_view.dart';
import 'package:yt_devops/pages/site/site_device_manager/site_device_manager_binding.dart';
import 'package:yt_devops/pages/site/site_observer_detail/site_observer_detail_binding.dart';
import 'package:yt_devops/pages/site/site_observer_detail/site_observer_detail_view.dart';
import 'package:yt_devops/pages/site/site_observer_list/site_observer_list_binding.dart';
import 'package:yt_devops/pages/site/site_observer_list/site_observer_list_view.dart';
import 'package:yt_devops/pages/site/site_setting/site_setting_binding.dart';
import 'package:yt_devops/pages/site/site_setting/site_setting_view.dart';
import 'package:yt_devops/pages/site/site_statis_data/full_screen_power_line_chart/full_screen_power_line_chart_view.dart';
import 'package:yt_devops/pages/site/site_statis_data/site_statis_data_binding.dart';
import 'package:yt_devops/pages/site/site_statis_data/site_statis_data_view.dart';
import 'package:yt_devops/pages/site/site_statis_data/widgtes/full_screen_power_line_chart.dart';
import 'package:yt_devops/pages/suggestion/suggest_commit_result/suggest_commit_result_binding.dart';
import 'package:yt_devops/pages/suggestion/suggest_commit_result/suggest_commit_result_view.dart';
import 'package:yt_devops/pages/suggestion/suggestion/suggestion_binding.dart';
import 'package:yt_devops/pages/suggestion/suggestion/suggestion_view.dart';
import 'package:yt_devops/pages/tabs/home_tab/main_home/main_home_binding.dart';
import 'package:yt_devops/pages/tabs/home_tab/main_home/main_home_view.dart';
import 'package:yt_devops/pages/tabs/home_tab/owener_home/owener_home_binding.dart';
import 'package:yt_devops/pages/tabs/home_tab/owener_home/owener_home_view.dart';
import 'package:yt_devops/pages/tabs/home_tab/product_manage_home/product_manage_home_binding.dart';
import 'package:yt_devops/pages/tabs/home_tab/product_manage_home/product_manage_home_view.dart';
import 'package:yt_devops/pages/site/site_tab/site_tab_binding.dart';
import 'package:yt_devops/pages/site/site_tab/site_tab_view.dart';
import 'package:yt_devops/pages/site/site_overview/site_overview_view.dart';
import 'package:yt_devops/pages/site/site_overview/site_overview_binding.dart';
import 'package:yt_devops/pages/tabs/device_tab/device_tab_binding.dart';
import 'package:yt_devops/pages/tabs/device_tab/device_tab_view.dart';
import 'package:yt_devops/pages/tasks/finish_report_task/finish_report_task_binding.dart';
import 'package:yt_devops/pages/tasks/finish_report_task/finish_report_task_view.dart';
import 'package:yt_devops/pages/tasks/install_task_detail/install_task_detail_binding.dart';
import 'package:yt_devops/pages/tasks/install_task_detail/install_task_detail_view.dart';
import 'package:yt_devops/pages/mine/message_center/advertise_message/advertise_message_binding.dart';
import 'package:yt_devops/pages/mine/message_center/advertise_message/advertise_message_view.dart';
import 'package:yt_devops/pages/mine/message_center/message_center_binding.dart';
import 'package:yt_devops/pages/mine/message_center/message_center_view.dart';
import 'package:yt_devops/pages/mine/mine/mine_binding.dart';
import 'package:yt_devops/pages/mine/mine/mine_view.dart';
import 'package:yt_devops/pages/mine/system_set/system_set_binding.dart';
import 'package:yt_devops/pages/mine/system_set/system_set_view.dart';
import 'package:yt_devops/pages/mine/user_manage/user_manage_binding.dart';
import 'package:yt_devops/pages/mine/user_manage/user_manage_view.dart';
import 'package:yt_devops/pages/tasks/repair_task_detail/repair_task_detail_binding.dart';
import 'package:yt_devops/pages/tasks/repair_task_detail/repair_task_detail_view.dart';
import 'package:yt_devops/pages/tasks/report_task_detail/report_task_detail_binding.dart';
import 'package:yt_devops/pages/tasks/report_task_detail/report_task_detail_view.dart';
import 'package:yt_devops/pages/tasks/create_install_task/create_install_task_binding.dart';
import 'package:yt_devops/pages/tasks/create_install_task/create_install_task_view.dart';
import 'package:yt_devops/pages/tasks/create_repair_task/create_repair_task_binding.dart';
import 'package:yt_devops/pages/tasks/create_repair_task/create_repair_task_view.dart';
import 'package:yt_devops/pages/tasks/finish_task/finish_task_binding.dart';
import 'package:yt_devops/pages/tasks/finish_task/finish_task_view.dart';
import 'package:yt_devops/pages/tasks/task_list/task_list_binding.dart';
import 'package:yt_devops/pages/tasks/task_list/task_list_view.dart';
import 'package:yt_devops/pages/site/site_binding.dart';
import 'package:yt_devops/pages/site/site_view.dart';
import 'package:yt_devops/utils/constants/permission_page_constant.dart';
import 'package:yt_devops/utils/navigate_utils.dart';
import '../pages/devices/device_tab/device_detail/new_air_cooling_page/voltage_current_full_chart/voltage_current_full_chart_binding.dart';
import '../pages/mine/message_center/advertise_message/advertise_message_detail/advertise_message_detail_binding.dart';
import '../pages/mine/message_center/advertise_message/advertise_message_detail/advertise_message_detail_view.dart';
import '../pages/mine/user_manage/admin_choose_relate_site/admin_choose_relate_site_binding.dart';
import '../pages/site/site_setting/main_price_setting/main_price_setting_binding.dart';
import '../pages/site/site_setting/siet_elec_price_setting/add_photovoltaic_price_set/add_photovoltaic_price_set_binding.dart';
import '../pages/site/site_setting/siet_elec_price_setting/add_photovoltaic_price_set/add_photovoltaic_price_set_view.dart';
import '../pages/site/site_device_list/access_device/access_device_binding.dart';
import '../pages/site/site_device_list/access_device/access_device_view.dart';
import '../pages/site/site_device_list/access_device_by_scanner/access_device_by_scanner_binding.dart';
import '../pages/site/site_device_list/access_device_by_scanner/access_device_by_scanner_view.dart';
import '../pages/site/site_device_list/access_device_complete/access_device_three_binding.dart';
import '../pages/site/site_device_list/access_device_complete/access_device_three_view.dart';
import '../pages/site/site_device_list/access_device_param_setting/access_device_two_binding.dart';
import '../pages/site/site_device_list/access_device_param_setting/access_device_two_view.dart';
import '../pages/site/site_device_manager/site_device_manager_view.dart';
import '../pages/site/site_setting/site_setting_base_info/site_setting_base_info_binding.dart';
import '../pages/site/site_setting/site_setting_base_info/site_setting_base_info_view.dart';
import '../pages/site/site_statis_data/full_screen_energy_bar_chart/full_screen_energy_bar_chart_binding.dart';
import '../pages/site/site_statis_data/full_screen_energy_bar_chart/full_screen_energy_bar_chart_view.dart';
import '../pages/site/site_statis_data/full_screen_power_line_chart/full_screen_power_line_chart_binding.dart';
import '../pages/tasks/create_site/create_site_binding.dart';
import '../pages/tasks/create_site/create_site_view.dart';
import 'router_path.dart';

class YtGetPage extends GetPage {
  final String? auth;
  YtGetPage({
    required super.name,
    required super.page,
    this.auth,
    super.title,
    super.participatesInRootNavigator,
    super.gestureWidth,
    super.maintainState = true,
    super.curve = Curves.linear,
    super.alignment,
    super.parameters,
    super.opaque = true,
    super.transitionDuration,
    super.popGesture,
    super.binding,
    super.bindings = const [],
    super.transition,
    super.customTransition,
    super.fullscreenDialog = false,
    super.children = const <GetPage>[],
    super.middlewares,
    super.unknownRoute,
    super.arguments,
    super.showCupertinoParallax = true,
    super.preventDuplicates = true,
  });
}

class Routers {
  static final unknownRouter = GetPage(
    name: RouterPath.unknown,
    page: () => const UnknownPage(),
    binding: UnknownBinding(),
    transition: Transition.downToUp,
  );

  static String get initialRouter {
    return RouterPath.splash;
    return Global.isLogin() == true
        ? NavigateUtils.getHomeTabByRole()
        : RouterPath.login;
  }

  // 首页tab页面
  static List<YtGetPage> mainHomePages = [
    YtGetPage(
      name: RouterPath.siteHome,
      page: () => SiteHomePage(),
      binding: SiteHomeBinding(),
    ),
    // YtGetPage(
    //   name: RouterPath.operationMantaince,
    //   page: () => OperationMatainancePage(),
    //   binding: OperationMatainanceBinding(),
    // ),
    YtGetPage(
      name: RouterPath.deviceList,
      page: () => DeviceListPage(),
      binding: DeviceListBinding(),
    ),
    YtGetPage(
      name: RouterPath.mine,
      page: () => MinePage(),
      binding: MineBinding(),
      auth: PermissionConstant.mine,
    ),
  ];

  static List<YtGetPage> ownerHomePages = [
    YtGetPage(
      name: RouterPath.siteHome,
      page: () => SiteHomePage(),
      binding: SiteHomeBinding(),
    ),
    YtGetPage(
      name: RouterPath.deviceList,
      page: () => DeviceListPage(),
      binding: DeviceListBinding(),
    ),
    YtGetPage(
      name: RouterPath.mine,
      page: () => MinePage(),
      binding: MineBinding(),
    ),
  ];

  static List<YtGetPage> productManageHomePages = [
    //站点
    YtGetPage(
        name: RouterPath.siteHome,
        page: () => SiteHomePage(),
        binding: SiteHomeBinding(),
        auth: PermissionConstant.homeStatic),
    // 运维
    // YtGetPage(
    //   name: RouterPath.operationMantaince,
    //   page: () => OperationMatainancePage(),
    //   binding: OperationMatainanceBinding(),
    // ),

    // 设备
    YtGetPage(
      name: RouterPath.deviceList,
      page: () => DeviceListPage(),
      binding: DeviceListBinding(),
    ),

    //我的
    YtGetPage(
      name: RouterPath.mine,
      page: () => MinePage(),
      binding: MineBinding(),
    ),
  ];

  // 首页tab页面
  static List<YtGetPage> sitePages = [
    YtGetPage(
      name: RouterPath.siteOverview,
      page: () => SiteOverviewView(),
      binding: SiteOverviewBinding(),
    ),
    YtGetPage(
      name: RouterPath.siteStatisData,
      page: () => SiteStatisDataView(),
      binding: SiteStatisDataBinding(),
    ),
    YtGetPage(
      name: RouterPath.siteDeviceManager,
      page: () => SiteDeviceManagerView(),
      binding: SiteDeviceManagerBinding(),
    ),
    YtGetPage(
      name: RouterPath.siteSetting,
      page: () => SiteSettingView(),
      binding: SiteSettingBinding(),
    ),
  ];

  static List<YtGetPage> routers = [
    /// 登录
    YtGetPage(
      name: RouterPath.login,
      page: () => const LoginPage(),
      binding: LoginBinding(),
    ),

    /// 闪屏页
    YtGetPage(
      name: RouterPath.splash,
      page: () => SplashScreenPage(),
      binding: SplashScreenBinding(),
    ),

    /// 站点列表
    YtGetPage(
        name: RouterPath.siteTab,
        page: () => SiteTabView(),
        binding: SiteTabBinding(),
        auth: PermissionConstant.homeSiteManage),

    YtGetPage(
      name: RouterPath.privatePolicy,
      page: () => const PrivatePolicyPage(),
      binding: PrivatePolicyBinding(),
    ),

    /// 安装商首页
    YtGetPage(
      name: RouterPath.mainHome,
      page: () => const MainHomePage(),
      binding: MainHomeBinding(),
    ),

    /// 产品管理员首页
    YtGetPage(
      name: RouterPath.productManageHome,
      page: () => const ProductManageHomePage(),
      binding: ProductManageHomeBinding(),
    ),

    /// 业主
    YtGetPage(
      name: RouterPath.ownerHome,
      page: () => const OwenerHomePage(),
      binding: OwenerHomeBinding(),
    ),

    ///
    YtGetPage(
      name: RouterPath.messageCenter,
      page: () => MessageCenterPage(),
      binding: MessageCenterBinding(),
      auth: PermissionConstant.mineMessageCenter,
    ),

    /// 用户管理
    YtGetPage(
      name: RouterPath.userManage,
      page: () => UserManagePage(),
      binding: UserManageBinding(),
    ),

    /// 消息模块
    YtGetPage(
      name: RouterPath.advertiseMessage,
      page: () => AdvertiseMessagePage(),
      binding: AdvertiseMessageBinding(),
      auth: PermissionConstant.mineMessageCenterAdvertiseMessage,
    ),

    /// 公告详情
    YtGetPage(
      name: RouterPath.advertiseMessageDetail,
      page: () => AdvertiseMessageDetailPage(),
      binding: AdvertiseMessageDetailBinding(),
      auth: PermissionConstant.mineMessageCenterAdvertiseMessageDetail,
    ),

    /// 报障单模块
    YtGetPage(
      name: RouterPath.faultReportList,
      page: () => FaultReportListView(),
      binding: FaultReportListBinding(),
    ),

    /// 新增报障单
    YtGetPage(
      name: RouterPath.createFaultReport,
      page: () => CreateFaultReportPage(),
      binding: CreateFaultReportBinding(),
    ),

    /// 报障单详情
    YtGetPage(
      name: RouterPath.faultReportDetail,
      page: () => FaultReportDetailPage(),
      binding: FaultReportDetailBinding(),
      auth: PermissionConstant.mineFaultReportManageDetail,
    ),

    /// 系统设置
    YtGetPage(
      name: RouterPath.systemSettings,
      page: () => SystemSetPage(),
      binding: SystemSeteBinding(),
    ),
    YtGetPage(
      name: RouterPath.language,
      page: () => LanguagePage(),
      binding: LanguagePageBinding(),
      auth: PermissionConstant.mineSystemSettingMultilingual,
    ),

    /// 账号安全
    YtGetPage(
      name: RouterPath.security,
      page: () => SecurityPage(),
      binding: SecurityBinding(),
      auth: PermissionConstant.mineSystemSettingAccount,
    ),

    /// 修改密码
    YtGetPage(
      name: RouterPath.changePassword,
      page: () => ChangePasswordPage(),
      binding: ChangePasswordBinding(),
    ),

    /// 告警详情
    YtGetPage(
      name: '${RouterPath.alarmDetail}/:id',
      page: () => AlarmDetailPage(),
      binding: AlarmDetailBinding(),
    ),

    /// 任务模块
    /// 安装任务详情
    YtGetPage(
      name: '${RouterPath.installTaskDetail}/:id',
      page: () => InstallTaskDetailPage(),
      binding: InstallTaskDetailBinding(),
    ),

    /// 维修任务详情
    YtGetPage(
      name: '${RouterPath.repairTaskDetail}/:id',
      page: () => RepairTaskDetailPage(),
      binding: RepairTaskDetailBinding(),
    ),

    /// 报障任务详情
    YtGetPage(
      name: '${RouterPath.reportTaskDetail}/:id',
      page: () => ReportTaskDetailPage(),
      binding: ReportTaskDetailBinding(),
    ),

    /// 安装任务详情
    YtGetPage(
      name: RouterPath.createInstallTask,
      page: () => CreateInstallTaskPage(),
      binding: CreateInstallTaskBinding(),
    ),

    /// 创建维修任务
    YtGetPage(
      name: RouterPath.createRepairTask,
      page: () => CreateRepairTaskPage(),
      binding: CreateRepairTaskBinding(),
    ),

    /// 完成任务
    YtGetPage(
      name: RouterPath.finishTask,
      page: () => FinishTaskPage(),
      binding: FinishTaskBinding(),
    ),

    /// 完成任务
    YtGetPage(
      name: RouterPath.finishRepairReason,
      page: () => FinishReportTaskPage(),
      binding: FinishReportTaskBinding(),
    ),

    /// 设备模块
    YtGetPage(
      name: RouterPath.childDeviceList,
      page: () => ChildDeviceListPage(),
      binding: ChildDeviceListBinding(),
    ),

    ///
    // YtGetPage(
    //   name: RouterPath.organizationSiteSelectList,
    //   page: () => OrganizationSiteSelectListPage(),
    //   binding: OrganizationSiteSelectListBinding(),
    // ),

    /// 设备详情
    YtGetPage(
      name: RouterPath.deviceTab,
      page: () => DeviceTabPage(
        tagName: '',
      ),
      binding: DeviceTabBinding(tagName: ''),
      auth: PermissionConstant.deviceDetail,
    ),

    /// 编辑设备基础信息
    YtGetPage(
      name: RouterPath.editDevice,
      page: () => BaseInfoEditPage(),
      binding: BaseInfoEditBinding(),
    ),

    /// 矩阵科技 EMS 远程控制
    // rectangleEmsRomoteControl
    YtGetPage(
      name: RouterPath.rectangleEmsRomoteControl,
      page: () => RectangleEmsRomoteControlPage(),
      binding: RectangleEmsRomoteControlBinding(),
    ),

    /// 自研 EMS 设备远程控制
    YtGetPage(
      name: RouterPath.selfDevelopedEmsRomoteControl,
      page: () => EmsRomoteControlPage(),
      binding: EmsRomoteControlBinding(),
    ),

    /// 自研 EMS 设备参数设置
    YtGetPage(
      name: RouterPath.selfDevelopedEmsParamsSetting,
      page: () => EmsParamsSettingView(),
      binding: EmsParamsSettingBinding(),
    ),

    /// 空调参数设置
    YtGetPage(
      name: RouterPath.airConditionRomoteControl,
      page: () => AirConditionSettingPage(),
      binding: AirConditionSettingBinding(),
    ),

    /// 风冷消防
    YtGetPage(
      name: RouterPath.fireFightingRomoteControl,
      page: () => FireFightingDetailPage(),
      binding: FireFightingDetailBinding(),
    ),

    /// 费率设置
    YtGetPage(
      name: RouterPath.rateSetting,
      page: () => RateSettingEditPage(),
      binding: RateSettingEditBinding(),
    ),

    /// 充电桩
    YtGetPage(
      name: RouterPath.chargingStationView,
      page: () => ChargingStationView(),
      binding: ChargingStationBinding(),
    ),
    // /// 新风冷ems
    YtGetPage(
      name: RouterPath.newAirCoolingPage,
      page: () => NewAirCoolingPage(),
      binding: NewAirCoolingPageBinding(),
    ),

    /// 充电订单详情
    YtGetPage(
      name: RouterPath.chargeOrderDetail,
      page: () => ChargeOrderDetailPage(),
      binding: ChargeOrderDetailBinding(),
    ),

    /// 添加设备
    YtGetPage(
        name: RouterPath.deviceSn,
        page: () => DeviceSnPage(),
        binding: DeviceSnBinding()),

    /// 扫描
    YtGetPage(
      name: RouterPath.deviceScanner,
      page: () => DeviceScannerPage(),
      binding: DeviceScannerBinding(),
    ),

    /// 扫描到的设备详情
    YtGetPage(
      name: RouterPath.scnaDeviceResult,
      page: () => ScanDeviceResultPage(),
      binding: ScanDeviceResultBinding(),
    ),

    ///
    YtGetPage(
      name: RouterPath.deviceScanFail,
      page: () => DeviceScanFailPage(),
      binding: DeviceScanFailBinding(),
    ),

    /// 选择电池簇
    YtGetPage(
        name: RouterPath.suggestCommitSuccess,
        page: () => SuggestCommitResultPage(),
        binding: SuggestCommitResultBinding()),

    YtGetPage(
      name: RouterPath.deviceList,
      page: () => DeviceListPage(),
      binding: DeviceListBinding(),
    ),

    YtGetPage(
      name: RouterPath.batteryCellTree,
      page: () => BatteryCellTreePage(),
      binding: BatteryCellTreeBinding(),
    ),

    /// 选择关联子设备
    YtGetPage(
      name: RouterPath.subDeviceTree,
      page: () => SubDebviceTreePage(),
      binding: SubDebviceTreeBinding(),
    ),

    YtGetPage(
      name: RouterPath.deviceControll,
      page: () => DeviceControllPage(),
      binding: DeviceControllBinding(),
    ),

    YtGetPage(
      name: RouterPath.deviceServiceSet,
      page: () => DeviceSetPage(),
      binding: DeviceSetPageBinding(),
    ),

    YtGetPage(
      name: RouterPath.selectProductType,
      page: () => SelectProductTypePageView(),
      binding: SelectProductTypePageBinding(),
    ),

    /// 充电桩 -》 创建充电终端
    YtGetPage(
      name: RouterPath.addChargeEnd,
      page: () => AddChargeTerminalPage(),
      binding: AddChargeTerminalBinding(),
    ),

    /// 意见反馈
    YtGetPage(
      name: RouterPath.suggestion,
      page: () => SuggestionPage(),
      binding: SuggestionBinding(),
    ),

    /// 意见反馈结果
    YtGetPage(
      name: RouterPath.suggestCommitSuccess,
      page: () => SuggestCommitResultPage(),
      binding: SuggestCommitResultBinding(),
    ),

    /// 关于我们
    YtGetPage(
      name: RouterPath.aboutUs,
      page: () => AboutUsPage(),
      binding: AboutUsBinding(),
      auth: PermissionConstant.mineAboutUs,
    ),

    /// 电价设置

    // GetPage(
    //   name: RouterPath.siteElecPriceSetting,
    //   page: () => SiteElecPriceSettingView(),
    //   binding: SiteElecPriceSettingBinding(),
    // ),
    /// 电价设置
    YtGetPage(
      name: RouterPath.siteElecPriceSetting,
      page: () => MainPriceSettingPage(),
      binding: MainPriceSettingBinding(),
    ),

    /// 市电电价详情
    YtGetPage(
        name: RouterPath.siteMainsElecDetail,
        page: () => SietMainsElecDetailView(),
        binding: SietMainsElecDetailBinding(),
        auth: PermissionConstant
            .homeSiteManageSettingElectricitySettingGridDetail),

    /// 上网电价详情
    YtGetPage(
        name: RouterPath.siteInternetElecDetail,
        page: () => SiteInternetElecDetailView(),
        binding: SiteInternetElecDetailBinding(),
        auth:
            PermissionConstant.homeSiteManageSettingElectricitySettingPvDetail),

    /// 充电桩计费电价详情
    YtGetPage(
        name: RouterPath.siteChargeElecDetail,
        page: () => SiteChargeElecDetailView(),
        binding: SiteChargeElecDetailBinding(),
        auth: PermissionConstant
            .homeSiteManageSettingElectricitySettingChargeDetail),

    /// 储能放电电价
    YtGetPage(
        name: RouterPath.energyStoreageDischargePriceController,
        page: () => EnergyStoreageDischargePricePage(),
        binding: EnergyStoreageDischargePriceBinding(),
        auth: PermissionConstant
            .homeSiteManageSettingElectricitySettingEssDetail),

    /// 站点-接入设备列表
    YtGetPage(
        name: RouterPath.siteDeviceList,
        page: () => SiteDeviceListView(),
        binding: SiteDeviceListBinding(),
        auth: PermissionConstant.homeSiteManageSettingDeviceDetail),

    /// 站点-接入设备
    YtGetPage(
      name: RouterPath.siteDeviceAccess,
      page: () => AccessDevicePage(),
      binding: AccessDeviceBinding(),
    ),

    // 地图
    YtGetPage(
      name: RouterPath.amapPage,
      page: () => MapPage(),
      binding: MapBinding(),
    ),
    YtGetPage(
      name: RouterPath.textInputPage,
      page: () => TextInputPage(),
      binding: TextInputBinding(),
    ),
    YtGetPage(
      name: RouterPath.selectPage,
      page: () => SelectPagePage(),
      binding: SelectPageBinding(),
    ),

    /// 站点-接入设备参数设置页面
    YtGetPage(
      name: RouterPath.siteDeviceAccessTwo,
      page: () => AccessDeviceTwoPage(),
      binding: AccessDeviceTwoBinding(),
    ),

    /// 站点-接入设备参数设置页面
    YtGetPage(
      name: RouterPath.siteDeviceAccessThree,
      page: () => AccessDeviceThreePage(),
      binding: AccessDeviceThreeBinding(),
    ),

    /// 站点-站点设置-基础信息
    YtGetPage(
        name: RouterPath.siteSiteSettingBaseInfo,
        page: () => SiteSettingBaseInfoPage(),
        binding: SiteSettingBaseInfoBinding(),
        auth: PermissionConstant.homeSiteManageSettingBaseInfoDetail),

    ///站点-站点设置-新增市价电价
    YtGetPage(
      name: RouterPath.addMainsElectricityPrice,
      page: () => AddMainsElectricityPricePage(),
      binding: AddMainsElectricityPriceBinding(),
      // auth:
      //     PermissionConstant.homeSiteManageSettingElectricitySettingGridAdd
    ),

    ///站点-站点设置-新增光伏电价
    YtGetPage(
      name: RouterPath.addPhotovoltaicPriceSet,
      page: () => AddPhotovoltaicPriceSetPage(),
      binding: AddPhotovoltaicPriceSetBinding(),
      // auth: PermissionConstant.homeSiteManageSettingElectricitySettingPvAdd
    ),

    ///站点-站点设置-新增市价电价
    YtGetPage(
      name: RouterPath.addChargePriceSet,
      page: () => AddChargePriceSetPage(),
      binding: AddChargePriceSetBinding(),
      // auth: PermissionConstant
      //     .homeSiteManageSettingElectricitySettingChargeAdd
    ),

    ///工单页面创建站点CreateSitePage

    YtGetPage(
      name: RouterPath.taskCreateSite,
      page: () => CreateSitePage(),
      binding: CreateSiteBinding(),
    ),

    ///扫码成功接入设备页面
    YtGetPage(
      name: RouterPath.accessDeviceByScanner,
      page: () => AccessDeviceByScannerPage(),
      binding: AccessDeviceByScannerBinding(),
    ),

    ///扫码失败手动添加sn页面
    YtGetPage(
      name: RouterPath.scanFailMannualAccess,
      page: () => ScanFailMannualAccessPage(),
      binding: ScanFailMannualAccessBinding(),
    ),

    YtGetPage(
        name: RouterPath.siteObserverList,
        page: () => SiteObserverListView(),
        binding: SiteObserverListBinding(),
        auth: PermissionConstant.homeSiteManageSettingMonitorSettingDetail),
    YtGetPage(
      name: RouterPath.siteObserverDetail,
      page: () => SiteObserverDetailView(),
      binding: SiteObserverDetailBinding(),
    ),

    ///我的-站点间管理
    YtGetPage(
      name: RouterPath.mineSiteManager,
      page: () => MineSiteManagerPage(),
      binding: MineSiteManagerBinding(),
    ),

    ///站点管理重置密码
    YtGetPage(
      name: RouterPath.mineUserManagerResetPwd,
      page: () => MineResetPasswordPage(),
      binding: MineResetPasswordBinding(),
    ),

    ///站点管理选择组织机构
    YtGetPage(
      name: RouterPath.mineChooseOrganization,
      page: () => MineChooseOrganizationPage(),
      binding: MineChooseOrganizationBinding(),
    ),

    ///站点管理系统管理员选择组织机构
    YtGetPage(
      name: RouterPath.adminChooseRelateSite,
      page: () => AdminChooseRelateSitePage(),
      binding: AdminChooseRelateSiteBinding(),
    ),

    ///站点管理用户详情
    YtGetPage(
      name: RouterPath.mineUserManagerGotoUserDetail,
      page: () => UserManagerUserDetailPage(),
      binding: UserManagerUserDetailBinding(),
    ),

    ///站点管理添加用户
    YtGetPage(
      name: RouterPath.mineUserManagerAddUser,
      page: () => MineAddUserPage(),
      binding: MineAddUserBinding(),
    ),

    ///站点管理重置密码
    YtGetPage(
      name: RouterPath.mineUserManagerChooseSite,
      page: () => RelateSitePage(),
      binding: RelateSiteBinding(),
    ),

    ///温度全屏图表
    YtGetPage(
      name: RouterPath.temperatureFullChart,
      page: () => TemperatureFullChartPage(),
      binding: TemperatureFullChartBinding(),
    ),

    ///电压电流全屏图表
    YtGetPage(
      name: RouterPath.voltageCurrentFullChart,
      page: () => VoltageCurrentFullChartPage(),
      binding: VoltageCurrentFullChartBinding(),
    ),

    ///功率全屏图表
    YtGetPage(
      name: RouterPath.socElectricityFullChart,
      page: () => SocElectricityFullChartPage(),
      binding: SocElectricityFullChartBinding(),
    ),

    ///功率全屏图表
    YtGetPage(
      name: RouterPath.powerFullChart,
      page: () => FullScreenPowerLineChartPage(),
      binding: FullScreenPowerLineChartBinding(),
    ),

    ///能量全屏图表
    YtGetPage(
      name: RouterPath.energyFullChart,
      page: () => FullScreenEnergyBarChartPage(),
      binding: FullScreenEnergyBarChartBinding(),
    ),

    ///首页统计电能统计全屏
    YtGetPage(
      name: RouterPath.esPowerStatisticsFullscreenChart,
      page: () => EsPowerStatisticsFullscreenChartPage(),
      binding: EsPowerStatisticsFullscreenChartBinding(),
    ),

    ///站点设置 参数设置
    YtGetPage(
        name: RouterPath.siteSettingParamSetPage,
        page: () => SiteSettingParamSetPage(),
        binding: SiteSettingParamSetBinding(),
        auth: PermissionConstant.homeSiteManageSettingParamsDetail),

    ///站点设置 视频监控设置
    YtGetPage(
        name: RouterPath.videoMonitorSettingPage,
        page: () => VideoMonitorSettingPage(),
        binding: VideoMonitorSettingBinding(),
        auth: PermissionConstant.homeSiteManageSettingVideoSettingDetail),

    ///低代码
    YtGetPage(
      name: RouterPath.lowCode,
      page: () => LowCodeSingleFormPage(),
      binding: LowCodeSingleFormBinding(),
    ),

    ///个人详情
    YtGetPage(
      name: RouterPath.userInfoPage,
      page: () => UserInfoPage(),
      binding: UserInfoBinding(),
      auth: PermissionConstant.mineIndividualDetail,
    ),

    ///无权限页面
    YtGetPage(
      name: RouterPath.noPermission,
      page: () => NoPermissionPage(),
      binding: NoPermissionBinding(),
    ),
  ];
}
